package com.ledi.guns.common.persistence.dao;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ledi.guns.common.persistence.model.TAgentInfo;
import com.ledi.guns.common.persistence.model.vo.AgentInfoVo;
import com.ledi.guns.common.persistence.model.vo.AgentNamesVo;
import com.ledi.guns.common.persistence.model.vo.HotAgentVo;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author ledi
 * @since 2017-11-29
 */

public interface AgentInfoMapper extends BaseMapper<TAgentInfo> {

	List<AgentInfoVo> getAgentInfo(Page<AgentInfoVo> page, Map<String, Object> map);

	int getAgentInfoCount(Map<String, Object> search);

	List<AgentNamesVo> getAgentNames(@Param("agentName") String agentName);

	Long getAgentId(@Param("agentName") String agentName);

	/**
	 * 获取热门代理商数据
	 * 
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<HotAgentVo> getHotAgentData(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

	/**
	 * 获取代理商下总流水
	 * 
	 * @param userId
	 * @return
	 */
	BigDecimal getAgentTotalFlow(@Param("userId") Long userId);

	/**
	 * 获取代理商下总学校数量
	 * 
	 * @param userId
	 * @return
	 */
	int getAgentTotalSchoolCount(@Param("userId") Long userId);

	TAgentInfo selectByAgentId(@Param("agentId") long agentId);
}
